package com.gitee.helioz.openai.api.endpoint.models;

import com.gitee.helioz.openai.api.dto.models.ModelDTO;
import com.gitee.helioz.openai.api.dto.models.ModelListResponse;

/**
 * 〈模型服务〉
 * <p>
 * 文档详见: <a href="https://platform.openai.com/docs/api-reference/models">openai models</a>
 * </p>
 *
 * @author <a href="https://gitee.com/helioz">Morning Starr</a>
 */
public interface ModelsService {

    /**
     * 列出当前可用的模型，并提供每个模型的基本信息，如所有者和可用性
     * <p><a href="https://platform.openai.com/docs/api-reference/models/list">文档</a></p>
     *
     * @return 模型集合
     */
    ModelListResponse list();

    /**
     * 检索模型实例，提供有关模型的基本信息，如所有者和权限
     * <p><a href="https://platform.openai.com/docs/api-reference/models/retrieve">文档</a></p>
     *
     * @param modelId 模型ID
     * @return 模型信息
     */
    ModelDTO retrieve(String modelId);

}
